Teamprojekt Softwareentwicklung

Bachelor Projekt

Agile Software Engineering Project


Sprecher: Ragnar Mogk

Teamprojekt Softwareentwicklung

  • 5er Teams + 1 Teambegleitung + 1 Auftraggeber:innen
    • ~4 Begleitvorlesungen
      • Team- und Vortragstraining
        • Funktionierende Software!
          • Projektdokumentation und -präsentation

            Worum geht es bei

            Softwareentwicklung im Team?

            Kommunikation

            Kommunikation

            • Teammitglieder
              • Teambegleitung
                • Auftraggeber:innen
                  • Nutzer:innen
                    • Kursorga
                      • Meetings / Emails
                        • Spezifikation / Dokumentation
                          • Code Reviews / Kommentare
                            • Tickets / User Stories
                              • Code

                                Teamfindung

                                Kennenlernen

                                Klärt eure Erwartungen und kommuniziert sie:

                                • Projekttyp: Webanwendung, Konsolenprogramm, …
                                  • Technologien: Programmiersprachen, Tools
                                    • Anspruch: Bestnote, Aufwand
                                      • Verfügbarkeit: Teilzeitstudium, …
                                        • Arbeitsweise: Pair-Programming, regelmäßige Meetings
                                          • Teilnahme: Präsenz oder remote
                                            • Vorerfahrungen
                                              • Trefft euch vor der Deadline und besprecht alle Punkte!

                                                Macht mal was als Team gemeinsam

                                                • Brettspiele, Bowling, Minigolf, Kochen, ...

                                                  Kommunikation

                                                  • Jour Fixe: Regelmäßiges festes Meeting
                                                    • 1x pro Iteration (2 Wochen)
                                                      • mit der Gruppe
                                                        • mit dem AG
                                                          • alle offenen Punkte ansprechen
                                                            • eventuelle längere technischen Diskussion auf später verschieben
                                                            • Teamkontakt:
                                                              • eine E-Mail-Adresse
                                                                • eine Person die zuständig ist zu Antworten
                                                                  • Kontakt für AG, TB, und Orga
                                                                  • Projektmanagement Tracking:
                                                                    • Issue/Task tracking (Gitlab, Github, Trello, Jenkins, …)
                                                                    • Weiter Kommunikation euch überlassen:
                                                                      • Calls, Instant Messenger, sonstige Software, …
                                                                        • Stand-up Meetings, Pair-Programming, Group-Programming, ...

                                                                        Zeitmanagement

                                                                        • Regelmäßiges Arbeiten
                                                                          • Findet Wege euch zu Motivieren
                                                                            • Häufigeres gemeinsames Arbeiten
                                                                              • Macht mal was in der Freizeit
                                                                              • Arbeitet auf die Projektziele hin
                                                                                • Plant Aufgaben pro Iteration
                                                                                  • Plant genug Puffer für Probleme
                                                                                  • Teilt euch die Zeit ein zwischen:
                                                                                    • Projektorganisation (Planung, Doku, Prozesse, Tooling, …)
                                                                                      • Entwicklung (Spezifische Tasks, Softwarequalität, …)

                                                                                      Konflikte

                                                                                      • Konflikte sind normal
                                                                                        • Bereitet euch darauf vor
                                                                                          • Geht professionell damit um

                                                                                            Konfliktverwaltungsstrategien

                                                                                            (wenn nötig)

                                                                                            • Festlegung von Rollen und Verantwortlichkeiten
                                                                                              • Dokumentiert eure Arbeitszeiten
                                                                                                • Dokumentiert eure Beiträge
                                                                                                • Offene Kommunikation bei Uneinigkeiten
                                                                                                  • Ziel: Gemeinsame Lösungen finden
                                                                                                    • Vermeidung von schlechten Kompromissen
                                                                                                    • Fokussierung auf die Erreichung der Projektziele trotz Konflikten
                                                                                                      • Teambegleitung bietet Unterstützung

                                                                                                        Problembeispiele

                                                                                                        „Ein Teammitglied trägt nur wenig bei“

                                                                                                        • Erwartung: 270h pro Person, 12h pro Woche (SEP: 2 Tage pro Woche)
                                                                                                          • Frühzeitig im Team ansprechen:
                                                                                                            • „Wir finden, dass du dich zu wenig an der Projektarbeit beteiligst, und wollen nicht, dass das einen negativen Einfluss auf unser Projektergebnis hat.”
                                                                                                            • Setzt ein Ultimatum:
                                                                                                              • „Wenn sich das nicht ändert, werden wir das in der Projektdokumentation festhalten.”
                                                                                                              • Kommuniziert mit eurer Teambegleitung.

                                                                                                                „Ich habe das Gefühl, alle Arbeit bleibt an mir hängen.”

                                                                                                                • Aufgaben zuweisen
                                                                                                                  • Dokumentiert Arbeitszeiten und Beiträge
                                                                                                                    • Bittet TBs um Hilfe

                                                                                                                      „Mit meinem Vorwissen kann ich die Aufgabe nicht bearbeiten.”

                                                                                                                      • Pair-Programming
                                                                                                                        • Gemeinsame Weiterbildung
                                                                                                                          • Kommuniziert mit TBs und AGs.

                                                                                                                            „Es liegen inkonsistente Requirements vor.”

                                                                                                                            • Mit TB und AG kommunizieren

                                                                                                                              „Die Aufgabe ist mit den gegebenen Ressourcen nicht realisierbar.”

                                                                                                                              • Mit AG kommunizieren

                                                                                                                                „Meine Teamkollegen geben mir Anweisungen”

                                                                                                                                • Zur Klarstellung:
                                                                                                                                  • Es gibt keine Projektleitung
                                                                                                                                    • Es wird auch nicht per Mehrheit entschieden
                                                                                                                                    • Entscheidungen sollen Einstimmig sein
                                                                                                                                      • Diskutiert Lösungen
                                                                                                                                        • Vermeidet schlechte Kompromisse
                                                                                                                                          • Kommuniziert mit den TBs
                                                                                                                                            • Bei Priorisierungsfragen kontaktiert die AGs.

                                                                                                                                              Erwartungen

                                                                                                                                              (von uns an euch)

                                                                                                                                              Regelmäßige Teilnahme am Prozess

                                                                                                                                              Zeitaufwand

                                                                                                                                              • 9CP = 270h (SEP: 12CP = 360h)
                                                                                                                                                • Projektarbeit, Meetings, Dokumentation, Präsentationen, Vorlesungen, …

                                                                                                                                                  Projektmanagement Bestandteile

                                                                                                                                                  • Projektspezifikation (zu Beginn)
                                                                                                                                                    • „Vertrag“ zwischen euch und AG was getan werden soll
                                                                                                                                                      • Klärt Randbedingungen wie Abgabeformat und Lizenzen
                                                                                                                                                      • Qualitätssicherung
                                                                                                                                                        • Projektdatenmanagement (e.g., git, issue tracker, …)
                                                                                                                                                          • Code Reviews
                                                                                                                                                            • Tests
                                                                                                                                                            • Projektdokumentation (kontinuierlich, Abgabe am Ende)
                                                                                                                                                              • Spezifikation erfüllt?
                                                                                                                                                                • Qualitätssicherung durchgeführt?
                                                                                                                                                                  • Arbeitszeiten?
                                                                                                                                                                    • Abgearbeitet User Stories?
                                                                                                                                                                      • Prozesse durchgeführt?
                                                                                                                                                                      • Details in eigenen Vorlesungen und durch Teambegleitungen

                                                                                                                                                                        Agile Software Engineering Project

                                                                                                                                                                        • Selbe Begleitvorlesung, anderes Rahmenprogramm
                                                                                                                                                                          • Mehr CP, mehr Aufwand
                                                                                                                                                                            • Selektiver Prozess
                                                                                                                                                                              • -> eventuell auch fürs BP registrieren!
                                                                                                                                                                              • Projektmesse: Montag 10:00-13:00, in S2|20 Raum 9
                                                                                                                                                                                • Bitte vorher Anmelden (siehe Webseite)

                                                                                                                                                                                Fragen?

                                                                                                                                                                                • Todos für euch:
                                                                                                                                                                                  • Findet euch in 5er Teams zusammen. (vereinzelt 4er Teams)
                                                                                                                                                                                    • Schaut euch die Projekte an.
                                                                                                                                                                                      • Behaltet das Moodle bezüglich Anweisungen zur Anmeldung im Auge
                                                                                                                                                                                        • Deadline ende Montag